package com.yunyao.framework.dto.payment;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 合同收款记录
 * </p>
 *
 * @author chenyejian
 * @since 2024-07-02
 */
@Getter
@Setter
public class ReceiveHistorySaveDto {

    /**
     * 主键
     */
    private String id;

    /**
     * 合同id
     */
    private String contractId;

    /**
     * 收款id
     */
    private String receiveId;

    /**
     * 收款时间
     */
    private Date receiveDate;

    /**
     * 收款方式
     */
    private String receiveType;

    /**
     * 收款价格
     */
    private BigDecimal receivePrice;

    /**
     * 含合同预收款（元）
     */
    private BigDecimal contractPrePrice;

    /**
     * 含订单预收款
     */
    private BigDecimal orderPrePrice;

    /**
     * 附件
     */
    @TableField("`file`")
    private String file;

    /**
     * 备注 
     */
    private String mark;

    /**
     * 状态
     */
    @TableField("`status`")
    private Integer status;

    /**
     * 删除标识
     */
    private Integer isDeleted;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建部门
     */
    private String createDept;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 修改人
     */
    private String updatedBy;

    /**
     * 修改时间
     */
    private Date updatedAt;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 流程状态
     */
    private String auditStatus;

    /**
     * 流程实例ID
     */
    private String processInstanceId;

    /**
     * 流程设计模板信息ID
     */
    private String modelSchemeInfoId;

    /**
     * 流程部署ID
     */
    private String deploymentId;

    /**
     * 流程版本
     */
    private String processVersion;

    /**
     * 节点类型 0=合同预付款 1=订单预付款 2=订单实付款
     */
    private String nodeType;

    private String nodeTriggerType;

    /**
     * 订单实付款
     */
    private BigDecimal orderPrice;

    /**
     * 发票号
     */
    private String invoiceNo;

    /**
     * 已付金额
     */
    private BigDecimal paymentPrice;

    /**
     * 已关联发票金额
     */
    private BigDecimal relatedAmount;

    /**
     * 关联发票状态（1 未关联，2 部分关联，3 已关联）
     */
    private String relatedStatus;
}
